1.2 あなたの意図は何か
価値を提供するためには、いずれにしてもソフトウェアを書かなければならない。だから、コードを第一のコミュニケーションツールにすればもっともコストがかからない。(1.2.1)
コードが簡単に理解できる必要がある
(そこに表現されている意図も含めて)
クリーンで保守性の高いコード・ロバストネスの核心はコミュニケーション
他の開発者が同じように素早く価値を提供できるコード
例:https://github.com/pviafore/RobustPython/blob/dafb95d801dff2c8ff7856ba46d3c052d54e0033/code_examples/chapter1/adjust_recipe.py
元の作者はある問題を解決しようとしたが、私はどうしてこのようなコードを書いたのかがわからない。
時間が経つにつれてコードの意図は失われていく
悪意はなく、善意で書いているにもかかわらず
なのでこの本は意図をコードで表現するというアプローチ(=自己文書化)
自己文書化だけに振り切ってはならないとも伝えている(1.2.1のコラム)
自己文書化だけではない、価値あるコミュニケーション手段を列挙(例:会議)
意図を伝える例:https://github.com/pviafore/RobustPython/blob/dafb95d801dff2c8ff7856ba46d3c052d54e0033/code_examples/chapter1/adjust_recipe_improved.py
非同期コミュニケーション